Previous: Slot Options, Up: Building Classes [Contents][Index]
In the options-and-doc arguments to
defclass, the following class options may be
specified:
:documentationA documentation string for this class.
If an Emacs-style documentation string is also provided,
then this option is ignored. An Emacs-style documentation
string is not prefixed by the :documentation
tag, and appears after the list of slots, and before the
options.
:allow-nil-initformIf this option is non-nil, and the
:initform is nil, but the
:type is specifies something such as
string then allow this to pass. The default is
to have this option be off. This is implemented as an
alternative to unbound slots.
This options is specific to Emacs, and is not in the CLOS spec.
:abstractA class which is :abstract cannot be
instantiated, and instead is used to define an interface
which subclasses should implement.
This option is specific to Emacs, and is not in the CLOS spec.
:custom-groupsThis is a list of groups that can be customized within
this class. This slot is auto-generated when a class is
created and need not be specified. It can be retrieved with
the class-option command, however, to see what
groups are available.
This option is specific to Emacs, and is not in the CLOS spec.
:method-invocation-orderThis controls the order in which method resolution occurs
for :primary methods in cases of multiple
inheritance. The order affects which method is called first
in a tree, and if call-next-method is used, it
controls the order in which the stack of methods are run.
Valid values are:
:breadth-firstSearch for methods in the class hierarchy in breadth first order. This is the default.
:depth-firstSearch for methods in the class hierarchy in a depth first order.
:c3Searches for methods in a linearized way that most closely matches what CLOS does when a monotonic class structure is defined.
See Method Invocation, for more on method invocation order.
:metaclassUnsupported CLOS option. Enables the use of a different
base class other than standard-class.
:default-initargsUnsupported CLOS option. Specifies a list of initargs to
be used when creating new objects. As far as I can tell, this
duplicates the function of :initform.
See CLOS compatibility, for more details on CLOS tags versus EIEIO-specific tags.
Previous: Slot Options, Up: Building Classes [Contents][Index]